//
//  CAnAlgExerVitalSignsData.h
//
//
//  Created by  on 2024/9/3.
//  Vital signs data during exercise

#import <Foundation/Foundation.h>
#import "CANalgProtocal.h"
#import "CAnAlgExerData.h"

NS_ASSUME_NONNULL_BEGIN

@interface CAnAlgExerVitalSignsData : NSObject<CANalgProtocal>

@property(assign, nonatomic, readonly)uint8_t cmdByte;

@property(assign, nonatomic, readonly)NSUInteger timeStamp;// Timestamp, accurate to day

@property(strong, nonatomic, readonly)NSNumber * heartRate; // Heart rate

@property(strong, nonatomic, readonly)NSNumber * hrv; // HRV

@property(assign, nonatomic, readonly)uint8_t respirationRate;// Respiration rate, unit: times/minute

@property(strong, nonatomic, readonly)NSNumber * ibi; // Interbeat interval (IBI)

@property(strong, nonatomic, readonly)NSNumber * stressValue;// float. Physiological pressure value, value range 0-1.0

@property(strong, nonatomic, readonly)NSNumber *cardiacCoherence; //float. Cardiac coherence, value range 0-1.0

@property(strong, nonatomic, readonly) NSNumber * vo2; // Oxygen uptake (VO2): VO2, range 0-255, unit: ml/kg/min
@property(strong, nonatomic, readonly) NSNumber * vo2Max; //  VO2 Max, range 0-255, unit: ml/kg/min

// The body temperature is measured when the activity type is mindfulness, and not measured for other activities
@property(strong, nonatomic, readonly) NSNumber *skinTemperature; // Finger temperature

@property(assign, nonatomic, readonly) NALG_EXERCISE_TYPE exerType; //The type of exercise that is sent when you start exercise

@property(assign, nonatomic, readonly) CAnAlgAutoDetec_ACTIVITY_TYP activityType;
@property(assign, nonatomic, readonly) CAnAlgAutoDetec_Exe_type keepExeType;

- (instancetype)initWithData:(NSData *)data;

-(NSNumber *)dataTimeStamp;
@end

NS_ASSUME_NONNULL_END
